package model;

import model.pieces.Piece;

/**
 * Interface used to provide functionality of a game board- getting pieces and checking positions   
 */
public interface Board {

	/**
	 * Returns piece at given position.
	 * If given position is not valid or no piece at position, null is returned
	 * @param row- piece row index
	 * @param col- piece column index
	 * @return Piece at given position
	 */
	public Piece getPiece(int row, int col);
	
	/**
	 * Gets a position and checks if at least one of the row or column indices exceed board's size
	 * @param row- row index to check
	 * @param col- column index to check
	 * @return True if position does not fit on board, False if fits
	 */
	public boolean notValidPosition(int row, int col);
	
	/**
	 * Gets a position and checks if does not exceed board's size
	 * @param row- row index to check
	 * @param col- column index to check
	 * @return True if position does not fit on board, False if fits
	 */
	public boolean isValidPosition(int row, int col);
}